#ifndef __STAFF_SYSTEM_H__
#define __STAFF_SYSTEM_H__

#include <stdio.h>
#include <string.h>

enum log{
	admin = 1,			//管理员登录
	user,				//普通用户登录
	quit,				//退出
	log ,				//登录功能
};
enum function{
	find = 11,			//查找功能
	update,				//更新数据功能
	add,				//添加用户功能
	delet,				//删除用户功能
	history,			//查询历史功能
	quit_funciton,		//退出功能菜单
};
enum find_function{
	find_id = 21,		//按工号查找
	find_all,			//查找全部
	quit_find,			//退出查找菜单
};
enum update_function{
	update_addr = 31,	//更新地址
	update_phone,		//更新电话
	update_passwd,		//更新密码
	update_name,		//更新姓名
	update_work,		//更新职位
	update_salary,		//更新工资
	update_date,		//更新入职日期
	update_level,		//更新职称
	update_age,			//更新年龄
	quit_update,		//退出更新菜单
};

typedef struct
{
	int staffno;		//工号
	int usertype;		//权限
	char name[8];
	char passwd[8];
	int age;
	char phone[12];
	char addr[32];
	char work[32];
	char date[32];
	int level;
	double salary;
}UsrMsg;

typedef struct
{
	int usertype;  //用户类型
	int cmdtype;  //通信指令类型
	char buf[128]; //通信的消息
	UsrMsg usrinfo;
}TranMsg;

//
#define		USR_UNEXIST				-10			//用户不存在
#define		USR_LOGIN_SUCCEED		-11			//用户登录成功
#define 	USR_ERR_INFORMATION		-12			//用户名或密码错误
#define 	USR_LOGIN_FAILED		-13			//用户登录失败

#define 	GUI_LOGIN				-20			//登录菜单
#define		GUI_ADMIN_LOG			-21			//管理员功能菜单
#define		GUI_USER_LOG			-22			//普通用户菜单
#define		GUI_ADMIN_SELE			-23			//管理员查找功能菜单
#define		GUI_ADMIN_UPDATE		-24			//管理员更新数据功能菜单
#define		GUI_USER_UPDATE			-25			//普通用户更新数据功能菜单

#define		FIND_SUCCEED			-30			//查找成功
#define		FIND_NOT				-31			//没有找到
#define		FIND_OVER				-32			//查找完成

#define		UPDATE_SUCCEED			-41			//更新数据成功
#define		UPDATE_FAILE			-42			//更新数据失败

#define		ADD_SUCCEED				-51			//添加用户成功
#define		ADD_FAILE				-52			//添加用户失败

#define		DELETE_SUCCEED			-61			//删除用户成功
#define		DELETE_FAILE			-62			//删除用户失败

#define		HISTORY_SUCCEED			-71			//历史记录查询成功
#define		HISTORY_FAILE			-72			//历史记录查询失败
#define		HISTORY_OVER			-73			//历史记录查询完成

/*判错函数*/
//示例:		err_log("open sqlite3 err.");
#define		err_log(errlog)		do{perror(errlog);return(-1);}while(0)

/*同行强制输出宏函数*/
//示例:		print("please input>>");
#define		print(string)		printf(string);fflush(stdout)


#endif
